<?php namespace Admin\Controller;
use Hdphp\Controller\Controller;

/**
 * 类型属性控制器[重点就是页面与控制器之间得进行$_GET['tid']传参,才能进行下面的操作]
 * [1][首先是从页面中进行get传参，将tid传进来，保证每个页面中都有tid]
 * [2][先做添加项，点击'添加属性'的时候(在index.php页面下面)，能把tid传过来(或者说有tid值)，进行$_GET['tid']传参，在添加项的时候获取到，才能进行添加操作。]
 * [3][添加属性页面(add.php)添加一个隐藏域，进行type_tid表下的type_tid等于tid进行 关联 ，不然的话会失去 type_tid 的值。跳转的时候路径也得给她进行传参才能跳转到需要的页面上]
 * [4][做首页显示页面的时候是跟其他的一样的，只要抓住关联表中的where条件(array('type_tid'=>$tid))就可以进行数据分配了]
 * [5][编辑：原理都是获取旧数据，新数据将旧数据覆盖的路线。也得给她进行$_GET['tid']传参,才能操作]
 */
Class TypeAttrController extends CommonController{
	private $model;
	public function __auto(){
		// 自动载入model模型，里面的是type_attr表及其各种方法
		$this->model = new \Common\Model\TypeAttr;
	}
	/**
	 * [index 显示属性的各种信息]
	 * @return [type] [description]
	 */
	public function index(){
		// p(Q('get.'));
		$tid = Q('get.tid',0,'intval');//获取从type.php页面下传过来的参数tid
		// p($tid);
		$attrData = $this->model->join('type','tid','=','type_tid')->where(array('type_tid'=>$tid))->get();//进行表关联，获得需要的数据(条件是array('type_tid'=>$tid))，多条数据
		// p($attrData);
		$this->assign('attrData',$attrData);//进行数据分配，分配到typeAttr的index.php页面中。
		$this->display();
	}
	/**
	 * [add 添加属性]
	 */
	public function add(){
		// 下面注销的是为了看是否接收到了tid
		// p(Q('get.'));
		// p($_GET['tid']);
		// $tid = Q('get.tid',0,'intval');
		if(IS_POST){
			// p(Q('post.'));
			if($this->model->addAttr()){  //执行的是Common/TypeAttr下面的addAttr方法。进行数据的添加
				// die;
				$this->success('添加成功',U('TypeAttr/index',array('tid'=>$_GET['tid'])));
				// array('tid'=>$_GET['tid'])这是跳转到TypeAttr/index下的具体哪个页面的属性页面>
			}
			// die;
			$this->error($this->model->getError());
		}
		$this->display();
	}
	/**
	 * [edit 属性类型的修改]
	 * @return [type] [description]
	 */
	public function edit(){
		// p($_GET['tid']);
		// 新数据的修改，将旧数据进行覆盖
		if(IS_POST){
			// p($_POST);
			// $_POST['tid'] 
			if($this->model->change()){//执行的是Common/TypeAttr下面的change编辑方法
				// die;
				$this->success('修改成功',U('TypeAttr/index',array('tid'=>$_GET['tid'])));
				// 跳转的地址思路跟上面的添加方法是一样的。
			}
			// die;
			$this->error($this->model->getError());
		}
		// p(Q('get.'));
		// 1、旧数据的获取，并 将其分配到页面中去，然后进行数据处理。
		$oldData = $this->model->where(array('taid'=>Q('get.taid')))->find();
		$this->assign('oldData',$oldData);
		// p($oldData);
		// Array
		// (
		//     [taid] => 52
		//     [taname] => 阿斯顿法师
		//     [tavalue] => 阿诗丹顿 
		//     [class] => 1
		//     [type_tid] => 2
		// )
		$this->display();
	}
	public function del(){
		// p(Q('get.'));
		// Array
		// (
		//     [m] => Admin
		//     [c] => TypeAttr
		//     [a] => del
		//     [taid] => 52
		//     [tid] => 2
		// )
		if($this->model->del()){//执行的是Common/TypeAttr下面的del方法，进行删除。
			$this->success('删除成功',U('TypeAttr/index',array('tid'=>$_GET['tid'])));
		}
		$this->error('删除失败');
	}

}

?>